1. Field of the Invention
The present invention relates to a system of a connection between servers and devices, to a multi-path computer system by which devices are accessed via multi-path access paths, and, in particular, to a multi-path computer system in which reliability in multi-path device control is secured.
2. Description of the Related Art
Recently, in a case where servers and devices are connected, multi-path device control in which not only a single server and a single device are connected, but also a plurality of servers and a plurality of devices are connected, has been regarded as important, so that reliability is secured.
In the above-mentioned multi-path device control, a user sets a multi-path configuration in order to access devices, and, a multi-path control mechanism apportions access paths based on the above-mentioned multi-path configuration setting.
There are problems as will now be described when the above-mentioned multi-path environment is built:
(1) Data destruction may occur due to an erroneous setting of multi-path configuration.
Because a user makes setting of a multi-path configuration, the setting may be made erroneously. When the erroneous setting is made, different areas may be accessed via two paths, and, thereby, data may be destroyed. Further, there may be a case where, for example, after the access paths are set, an access path is erroneously re-connected while maintenance work is performed. Also in such a case, data may be destroyed.
In particular, recently, Fibre Channel has spread widely, and thereby, it becomes difficult to find out which devices are connected by access paths. Accordingly, multi-path setting may be easily made erroneously.
(2) A method of maintenance performed when a same path is used in common for a plurality of devices has not been clearly established.
For example, when a channel adapter of a device is exchanged, and an access path was set for another device using a channel adapter in a same exchange unit as that of the above-mentioned channel adapter to be exchanged, it is necessary to inform the other device that the channel adapter of this other device will also be exchanged. Otherwise, the other device may not able to render a proper connection. In the related art, a method of dealing with such a situation has not been established clearly. Accordingly, it was not possible to perform maintenance work efficiently.
(3) A long time is required for switching paths, and, thereby, a useless time of dealing with error/fault is required.
For example, when a channel adapter of a device has a fault, a path-fail-over function of a multi-path control mechanism functions, and, thereby, an access path using the channel adapter is prevented from being used. Thereby, when a plurality of access paths were set using this channel adapter, an error dealing-with operation starts each time an access is made via each access path thereof, and path switching is performed. Thus, a useless error dealing-with time is required. Especially, in a case of a Fibre Channel, a long time is required for detecting an error (for example, tens of seconds). Accordingly, for a system employing a Fibre Channel, an efficient channel switching method needs to be developed.
The present invention has been devised in consideration of the above-discussed situations, and, an object of the present invention is to solve a problem due to an erroneous setting of a multi-path configuration by a user, to shorten a time required for a recovery from a path-fail-over state, and, also, to shorten a time required for maintenance work of a device, in a multi-path computer system.
FIG. 1 shows a general configuration of the present invention.
As shown in FIG. 1, host apparatuses 1 are connected with a plurality of input/output devices 3 via an interface 2. As the interface 2 between the host apparatuses and plurality of input/output devices, the above-mentioned Fibre Channel network system may be used, for example. However, it is also possible to use a SCSI, a hub, or the like for the same purpose. In each host apparatus 1, a plurality of host adapters 1c are provided, and, a plurality of access paths are set for connection between the host adapters 1c and channel adapters 3a of the input/output devices 3.
An I/O request from a host application 1a of the host apparatus 1 is sent to a multi-path control part 1b, which then apportions the I/O to a plurality of access paths. The thus-apportioned I/O is sent to the input/output device 3 via the host adapter 1c, access path and channel adapter 3a, and, then, is processed by the input/output device 3. Then, a response is sent to the host application 1a via the same path.
In this system, the present invention solves the above-mentioned problems as follows:
(1) Each input/output device 3 includes a plurality of areas which the host apparatuses 1 can access; area information corresponding to each of the plurality of areas; device information for identifying this input/output device; and channel adapters 3a, each of which renders permission or inhibition of access from the host apparatuses 1 for each one of the plurality of areas, according to the area information.
Further, each of the host apparatuses 1 includes the plurality of host adapters 1c which are connected to the plurality of paths and perform access to the input/output devices 3; access path information indicating areas of the input/output devices which can be accessed by the respective ones of the plurality of host adapters; and the multi-path control part 1b which selects a specific host adapter 1c according to the access path information when access is made from a software operating in the host apparatus 1, to a specific area of the input/output device 3.
Further, each channel adapter 3a of the input/output devices 3 includes an identification information responding part which responds to the host apparatuses 1 by identification information {circle around (1)} including the device information and area information, and each host apparatus 1 determines from the access path information and identification information {circle around (1)}, whether or not the plurality of paths are proper (or properly set).
Thus, erroneous setting of access paths is prevented from being accepted, by using the identification information {circle around (1)} specifying the area as mentioned above. Accordingly, it is possible to prevent different areas from being accessed via two paths erroneously. Thus, it is possible to prevent data from being destroyed due to an erroneous setting of the access-path configuration.
Further, by obtaining the above-mentioned information from the channel adapters 3a of the input/output devices 3 at a time of turning on of power, and periodically, it is possible to deal with an erroneous connection made also at a time of maintenance work.
(2) Each input/output device 3 includes device information for identifying this input/output device 3, information of a number of each of the channel adapters 3a in the input/output device 3 (adapter number information), and the channel-adapters 3a, each of which renders permission/inhibition of access from the host apparatuses 1 connected with the plurality of paths.
Further, each of the host apparatuses 1 includes the plurality of host adapters 1c connected with the plurality of paths and perform access to the input/output devices 3 therethrough; access path information indicating areas of the input/output devices 3 which can be accessed by the respective ones of the plurality of host adapters; and the multi-path control part 1b which selects a specific host adapter 1c, according to the access path information when access is to be made from a software operating in the host apparatus 1.
Further, each of the channel adapters 3a of the input/output devices 3 includes an identification information responding part which responds to the host apparatuses 1 by identification information {circle around (2)} including the above-mentioned device information and adapter number information, and, when detecting an error path, the host apparatus 1 sends the thus-responded identification information concerning the error path to the other multi-path control parts of their own apparatus and/or the multi-path control parts of the other apparatuses.
Thus, the identification information {circle around (2)} concerning the detected error path is sent to the other multi-path control parts of their own apparatus and/or the multi-path control parts of the other apparatuses. Thereby, the other multi-path control parts of their own apparatus and/or the multi-path control parts of the other apparatuses can terminate operation concerning the relevant access path and perform path-fail-over operation previously. Accordingly, it is possible to prevent a useless error dealing-with time from being required.
(3) Each of the input/output devices 3 includes device information for identifying this input/output device 3; information of component exchange units in this device (component exchange-unit information); and the channel adapters 3a, each of which renders permission/inhibition of access from the host apparatuses 1 connected with the above-mentioned plurality of paths.
Further, each of the host apparatuses 1 includes the plurality of host adapters 1c connected with the above-mentioned plurality of paths and performing access to the input/output devices 3 therethrough; access path information indicating areas of the input/output devices 3 which can be accessed by the respective ones of the plurality of host adapters; and the multi-path control part 1b which selects a specific host adapter 1c, according to the access path information when access is to be made from a software operating in the host apparatus 1.
Further, each of the channel adapters 3a of the input/output devices 3 includes an identification information responding part which responds to the host apparatuses 1 by identification information {circle around (3)} including the above-mentioned device information and the component exchange-unit information. Then, when a request for exchanging a channel adapter is given, the host apparatus 1 terminates operation of any path using this channel adapter, and, simultaneously, sends the identification information {circle around (3)} concerning this channel adapter to the other multi-path control parts of their own apparatus and/or the multi-path control parts of the other apparatuses, and, thereby, causes operation concerning the paths using the channel adapters having the same component exchange-unit information to be terminated.
Thus, when a request for exchanging a channel adapter is given, the path using this channel adapter is made to be terminated, and, simultaneously, as the identification information {circle around (3)} concerning this channel adapter is sent to the other multi-path control parts of their own apparatus and/or the multi-path control parts of the other apparatuses, operation is made to be terminated for the paths using the channel adapters having the same exchange-unit information. Accordingly, it is possible to perform exchange of channel adapters or the like of the input/output devices 3 without adversely affecting the other applications of the own apparatus and/or I/O requests of the other apparatuses.
Further, when re-start is performed after the exchange of components is finished, the same identification information {circle around (3)} is sent to the other multi-path control parts of their own apparatus and/or the multi-path control parts of the other apparatuses so as to inform them of recovery of the path. Thereby, it is possible to shorten a time required for the recovery after the exchange of components.
In a case where Fibre Channel is used as the interface, it is possible to utilize WWN (World Wide Name) of the Fibre Channel which each channel adapter has, as the above-mentioned identification information specifying/identifying the device. Further, it is also possible to utilize a node name of WWN, as the above-mentioned exchange component-unit information.
Other objects and further features of the present invention will become more apparent from the following detailed description when read in conjunction with the accompanying drawings.